package com.kds.fxtool.feign;

import com.kds.fxtool.dto.UsageReportDto;
import com.kds.fxtool.dto.VersionInfoDto;
import feign.Headers;
import feign.Param;
import feign.RequestLine;

public interface UpdateServiceClient {
    
    /**
     * 获取最新版本信息
     */
    @RequestLine("GET /version.json")
    @Headers({
        "Content-Type: application/json",
        "User-Agent: SmartLoginSystem/{version}"
    })
    VersionInfoDto getLatestVersion();
    
    /**
     * 检查特定版本信息
     */
    @RequestLine("GET /versions/{version}")
    @Headers("Content-Type: application/json")
    VersionInfoDto getVersionInfo(@Param("version") String version);
    
    /**
     * 上报当前版本使用情况（可选）
     */
    @RequestLine("POST /usage")
    @Headers("Content-Type: application/json")
    void reportUsage(UsageReportDto usageReport);
    
    /**
     * 健康检查
     */
    @RequestLine("GET /health")
    String healthCheck();
}